package cn.csc.module.order.enums;

/**
 * @author liuchuang
 * @version 1.0
 * @date 2024/1/29 10:17
 * @modify
 */
public enum OrderStatusEnum {

    /**
     * 没有付款.待付款
     */
    UNPAY(0),

    /**
     * 已经付款,但卖家没有发货.待发货
     */
    PAYED(1),

    /**
     * 发货，导致实际库存减少，没有确认收货.待收货
     */
    CONSIGNMENT(2),

    /**
     * 订单确认收货成功，购买数增加1.
     */
    SUCCESS(3),

    /**
     * 交易失败,还原库存
     */
    CLOSE(-4);

    private final Integer num;

    public Integer value() {
        return num;
    }

    OrderStatusEnum(Integer num) {
        this.num = num;
    }

    public static OrderStatusEnum instance(Integer value) {
        OrderStatusEnum[] enums = values();
        for (OrderStatusEnum statusEnum : enums) {
            if (statusEnum.value().equals(value)) {
                return statusEnum;
            }
        }
        return null;
    }

}
